Generally described, computing devices and communication networks can be utilized to exchange information. In a common application, a computing device can request content from another computing device via a communication network. For example, a user at a personal computing device can utilize a software browser application, typically referred to as a browser, to request a web page from a server computing device via the Internet. In such embodiments, the user computing device can be referred to as a client computing device and the server computing device can be referred to as a content provider.
With reference to an illustrative example, a requested web page, or original content, may be associated with a number of additional resources, such as images or videos, that are to be displayed with the web page. In one specific embodiment, the additional resources of the web page are identified by a number of embedded resource identifiers, such as uniform resource locators (“URLs”). In turn, software on the client computing devices, such as a browser software application, typically processes embedded resource identifiers to generate requests for the content. Accordingly, in order to satisfy a content request, one or more content providers will generally provide client computing devices data associated with the web page as well as the data associated with the embedded resources. In some cases, as the client computing device encounters each embedded resource identifier, the client computing device establishes a connection with the content provider for the embedded resource, potentially resulting in multiple active connections, to multiple content providers, at any given time during retrieval of the web page. The content providers often transmit the embedded resources to the client computing device as fast as the connection of the client computing device allows, and each additional connection consumes bandwidth that would otherwise be available to the other connections